'use strict';

/**
 * @param {Egg.Application} app - egg application
 */
module.exports = app => {
  const { router, controller } = app;
  router.get('/50x.html', controller.home.x50x);

  router.get('/', controller.home.index);
  router.get('/news', controller.news.index);

  // app.router.get('index', '/home/index', app.controller.home.index);// 这和 /index 是否有区别？

  // 基于路由直接跳转，又称内部重定向；在这个 router.js 中可能是无法配置跳转到外部链接~
  // 那么外部重定向是什么呢？可能就是说调外外部域名的连接上；此时是在 Controller 中进行的重定向：
  //    redirect(`http://cn.bing.com/search?q=${q}`);
  // app.router.redirect('/', '/home/index', 302);

  // 表单测试
  router.get('/form/1', controller.form.form1);
  router.post('/form/1', controller.form.upload1);

  router.get('/form/2', controller.form.form2);
  router.post('/form/2', controller.form.upload2);

  router.get('/form/3', controller.form.form3);
  router.post('/form/3', controller.form.upload3);

  router.get('/form/4', controller.form.form4);
  router.post('/form/4', controller.form.upload4);

  router.get('/home/select', controller.home.select);
  router.get('/home/insert', controller.home.insert);
  router.get('/home/update', controller.home.update);
  router.get('/home/delete', controller.home.delete);

  // restful api
  // router.resources('post', '/api/post', controller.post);
  // router.resources('post', '/api/v1/post', controller.v1.post);
  // router.resources('post', '/api/v1/post', controller.api.v1.post);
  


  // 当把每个 Controller 相关的路由配置独立到单独的文件中时，比如 app/router/news.js,app/router/admin.js 两个文件，那么这里的写法是：
  // require('./router/news')(app);
  // require('./router/admin')(app);
};
